The computing needs for high performance computing continues to grow. Commodity processors have become powerful enough to apply to some problems, but often must be scaled to thousands or even tens of thousands of processors in order to solve the largest of problems. However, traditional methods of interconnecting these processors to form computing clusters are problematic for a variety of reasons. For example, some conventional interconnecting switches have limited scalability and fault tolerance characteristics that inadequately take advantage of low cost commodity computers.